home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
PROGRAMM
/
PROGEDIT
/
1023.ZIP
/
SYSUTIL.PAS
< prev
Wrap
Pascal/Delphi Source File
|
1986-03-13
|
5KB
|
222 lines
function Exist(FileN: Str80): boolean;
var F: file;
begin
assign(F,FileN);
reset(F);
if ioresult <> 0 then Exist:=false
else
begin
Exist:=true;
close(F);
end;
end;
procedure sysUtil;
var
s,Ldir : string[64];
cmdfilename : string[255];
Hx : integer;
selection,sch : char;
PGMFILE : file;
sourcename,destname : string[64];
procedure showdir;
begin
gotoxy(3,22);
getdir(0,s);
Ldir := s;
write('Current drive\directory ',s,'':78-(25+length(s)));
end;
procedure flash;
begin
repeat
write(' Press Any Key to Continue!');
delay(250);
for Hx := 1 to 27 do write(^H);
write('':27);
for Hx := 1 to 27 do write(^H);
delay(100);
until keypressed;
read(kbd,sch);
end;
procedure prompt(s : str80; ypos :integer);
begin
gotoxy(1,25);clreol;
gotoxy(1,ypos);clreol;
write(s);
end;
PROCEDURE Changedir;
var s: string[30];
begin
prompt('Change directory to: ',24);
readln(s);
ChDir(s);
if ioerr then write('not found') else
write(' Done!');
flash;
end;
PROCEDURE MakeDir;
var s: string[30];
begin
prompt('Make Sub-Directory: ',24);
readln(s);
MkDir(s);
if ioerr then exit;
write(' Done!');
flash;
end;
PROCEDURE RemoveDir;
var s: string[30];
begin
prompt('Delete Sub-Directory: ',24);
readln(s);
prompt('Confirm Removal of: ',24); write(s, ' ? Y/N');
read(kbd,sch);
if sch in ['Y','y'] then
begin
RmDir(s);
if ioerr then exit
else write(' Done!');
flash;
end;
end;
PROCEDURE erasefile;
var filename1 : string[15];
filevar : file;
begin
prompt('File Name to be Erased: ',24);
readln(filename1);
prompt('Confirm Removal of: ',24); write(filename1, ' ? Y/N');
read(kbd,sch);
if sch in ['Y','y'] then
begin
if exist(filename1) then
begin
assign(filevar,filename1);
erase(filevar);
if ioerr then exit;
write(' Done! ');
end
else write(chr(7),'File "',filename1,'" not found!');
flash;
end;
end;
PROCEDURE renamefile;
var filename1,filename2 : string[15];
filevar : file;
begin
prompt('File Name to be changed: ',24);
readln(filename1);
if exist(filename1) then
begin
gotoxy(1,24); clreol;
write('Change "',Filename1,'" to: ');
readln(filename2);
if (not exist(filename2)) then
begin
assign(filevar,filename1);
rename(filevar,filename2);
if ioerr then
begin
close(filevar); exit;
end else close(filevar);
write(' Done ');
end
else write(chr(7),' File "',filename2,'" already exists !!');
end
else write(chr(7),' File ',filename1,' not on disk !!');
flash;
end;
PROCEDURE lv(s: str80);
begin
lowvideo;
write(s);
highvideo;
end;
PROCEDURE hv(s : str80);
begin
highvideo;
write(s);
end;
PROCEDURE System_Util;
var I : integer;
BEGIN
repeat
clrscr;
gotoxy(1,1);
WRITE(CHR(201)); {LEFT TOP CORNER}
GOTOXY(2,1);
FOR I := 1 TO 78 DO WRITE(CHR(205)); {TOP LINE};
GOTOXY(1,2);
FOR I := 1 TO 22 DO WRITELN(CHR(186)); {LEFT SIDE}
GOTOXY(80,1);
WRITE(CHR(187)); {RIGHT TOP CORNER}
FOR I := 2 TO 22 DO
BEGIN
GOTOXY(80,I); { RIGHT SIDE}
WRITE(CHR(186));
END;
GOTOXY(80,23);
WRITE(CHR(188)); {RIGHT BOTTOM CORNER}
GOTOXY(1,23);
WRITE(CHR(200));
GOTOXY(2,23);
FOR I := 1 TO 78 DO WRITE(CHR(205));
GOTOXY(2,3);
FOR I := 1 TO 78 DO WRITE(CHR(205));
GOTOXY(24,2);
hv(' S'); lv('ystem '); hv('U');lv('tilities ');hv('M');lv('enu');
I := 0;
gotoxy(10,20); lv('(Press Letter for Utility Desired or ''Q'' to Quit)');
IF SELECTION IN ['C','D','M','L'] THEN showdir
else
begin
gotoxy(3,22);
write('Current drive\directory ',s,'':76-(26+length(s)));
end;
gotoxy(20,6); hv(' ''C'' - ');lv('Change Logged Directory');
gotoxy(20,8); hv(' ''D'' - ');lv('Delete Sub Directory');
gotoxy(20,10); hv(' ''E'' - ');lv('Erase a file');
gotoxy(20,12); hv(' ''L'' - ');lv('List Directory of Disk');
gotoxy(20,14); hv(' ''M'' - ');lv('Make Sub Directory');
gotoxy(20,16); hv(' ''R'' - ');lv('Rename a file');
gotoxy(20,18);
write(' Select Choice: ');
repeat
read(kbd,Selection);
Selection := Upcase(Selection);
until Selection in ['C'..'E','L','M','Q','R'];
case selection of
'C' : ChangeDir;
'D' : RemoveDir;
'E' : erasefile;
'L' : begin gotoxy(1,25); clreol; ListDIR; flash; end;
'M' : MakeDir;
'R' : Renamefile;
end;
until selection in['Q','X'];
end;
begin
clrscr;
getdir(0,s);
if ioerr then clrscr;
Ldir := s;
system_Util;
clrscr;
end;